go/types.operand.mode (field)
317 uses
go/types (current package)
api_predicates.go#L34: x := operand{mode: value, typ: V}
api_predicates.go#L45: x := operand{mode: value, typ: V}
assignments.go#L27: switch x.mode {
assignments.go#L39: x.mode = invalid
assignments.go#L54: x.mode = invalid
assignments.go#L64: x.mode = invalid
assignments.go#L82: x.mode = invalid
assignments.go#L99: x.mode = invalid
assignments.go#L117: x.mode = invalid
assignments.go#L122: if x.mode == invalid || !isValid(x.typ) || !isValid(lhs.typ) {
assignments.go#L130: if x.mode != constant_ {
assignments.go#L145: if x.mode == invalid {
assignments.go#L157: if x.mode == invalid || !isValid(x.typ) || !isValid(lhs.typ) {
assignments.go#L161: x.mode = invalid
assignments.go#L173: x.mode = invalid
assignments.go#L222: if x.mode == invalid || !isValid(x.typ) {
assignments.go#L228: switch x.mode {
assignments.go#L237: if op.mode == mapindex {
assignments.go#L256: x.mode = invalid
assignments.go#L447: if commaOk && rhs[0].mode != invalid && rhs[1].mode != invalid {
assignments.go#L455: if rhs[0].mode != invalid {
assignments.go#L511: if commaOk && rhs[0].mode != invalid && rhs[1].mode != invalid {
assignments.go#L519: if rhs[0].mode != invalid {
builtins.go#L59: if a.mode == invalid {
builtins.go#L142: x.mode = value
builtins.go#L153: if x.mode == constant_ {
builtins.go#L224: x.mode = mode
builtins.go#L243: x.mode = novalue
builtins.go#L264: x.mode = novalue
builtins.go#L299: if x.mode == constant_ && y.mode == constant_ {
builtins.go#L314: if x.mode == invalid || y.mode == invalid {
builtins.go#L347: if x.mode == constant_ && y.mode == constant_ {
builtins.go#L350: x.mode = value
builtins.go#L353: if check.recordTypes() && x.mode != constant_ {
builtins.go#L413: x.mode = value
builtins.go#L440: if x.mode == invalid {
builtins.go#L444: x.mode = novalue
builtins.go#L455: if x.mode == constant_ {
builtins.go#L468: if x.mode == invalid {
builtins.go#L501: if x.mode == constant_ {
builtins.go#L508: x.mode = value
builtins.go#L511: if check.recordTypes() && x.mode != constant_ {
builtins.go#L570: x.mode = value
builtins.go#L587: if a.mode == invalid {
builtins.go#L599: if x.mode == invalid {
builtins.go#L608: if x.mode == constant_ && a.mode == constant_ {
builtins.go#L613: x.mode = value
builtins.go#L619: if x.mode != constant_ {
builtins.go#L620: x.mode = value
builtins.go#L623: if x.mode == invalid {
builtins.go#L633: if check.recordTypes() && x.mode != constant_ {
builtins.go#L649: x.mode = value
builtins.go#L671: if x.mode == invalid {
builtins.go#L675: x.mode = novalue
builtins.go#L688: if a.mode == invalid {
builtins.go#L695: x.mode = novalue
builtins.go#L702: x.mode = value
builtins.go#L713: if x.mode == invalid {
builtins.go#L722: x.mode = value
builtins.go#L731: if x.mode == invalid {
builtins.go#L736: x.mode = value
builtins.go#L741: x.mode = constant_
builtins.go#L759: if x.mode == invalid {
builtins.go#L789: if x.mode == variable || indirect {
builtins.go#L800: x.mode = value
builtins.go#L810: x.mode = constant_
builtins.go#L819: if x.mode == invalid {
builtins.go#L824: x.mode = value
builtins.go#L834: x.mode = constant_
builtins.go#L856: x.mode = value
builtins.go#L873: x.mode = value
builtins.go#L884: if x.mode == invalid {
builtins.go#L893: x.mode = value
builtins.go#L904: if x.mode == invalid {
builtins.go#L908: x.mode = value
builtins.go#L918: if x.mode != constant_ || !isBoolean(x.typ) {
builtins.go#L940: x.mode = novalue
builtins.go#L950: if x.mode == invalid {
builtins.go#L959: assert(x.mode != invalid)
call.go#L53: x.mode = invalid
call.go#L67: x.mode = invalid
call.go#L104: args = []*operand{{mode: value, expr: expr, typ: T.sig}}
call.go#L118: x.mode = invalid
call.go#L128: x.mode = value
call.go#L179: assert(x.mode == value)
call.go#L190: switch x.mode {
call.go#L199: if x.mode == invalid {
call.go#L203: x.mode = invalid
call.go#L209: if x.mode != invalid {
call.go#L233: x.mode = invalid
call.go#L237: if x.mode != invalid && x.mode != constant_ {
call.go#L245: cgocall := x.mode == cgofunc
call.go#L257: x.mode = invalid
call.go#L274: x.mode = invalid
call.go#L285: x.mode = invalid
call.go#L317: x.mode = novalue
call.go#L320: x.mode = commaerr
call.go#L322: x.mode = value
call.go#L326: x.mode = value
call.go#L334: if x.mode == value && sig.TypeParams().Len() > 0 && isParameterized(sig.TypeParams().list(), x.typ) {
call.go#L335: x.mode = invalid
call.go#L410: if t, ok := x.typ.(*Tuple); ok && x.mode != invalid {
call.go#L414: resList[i] = &operand{mode: value, expr: e, typ: v.typ}
call.go#L748: x.mode = constant_
call.go#L752: x.mode = typexpr
call.go#L755: x.mode = variable
call.go#L761: x.mode = funcMode
call.go#L764: x.mode = value
call.go#L768: x.mode = builtin
call.go#L781: switch x.mode {
call.go#L815: obj, index, indirect = lookupFieldOrMethod(x.typ, x.mode == variable, check.pkg, sel, false)
call.go#L829: if x.mode == typexpr {
call.go#L841: alt, _, _ := lookupFieldOrMethod(x.typ, x.mode == variable, check.pkg, sel, true)
call.go#L853: if x.mode == typexpr {
call.go#L890: x.mode = value
call.go#L905: if x.mode == variable || indirect {
call.go#L906: x.mode = variable
call.go#L908: x.mode = value
call.go#L931: if x.mode == variable {
call.go#L962: x.mode = value
call.go#L981: x.mode = invalid
call.go#L1009: x.mode = value // anything but invalid
call.go#L1041: return x.mode != invalid
const.go#L23: assert(x.mode == constant_)
const.go#L243: x.mode = invalid
const.go#L255: assert(x.mode == constant_)
const.go#L297: x.mode = invalid
conversions.go#L21: constArg := x.mode == constant_
conversions.go#L53: x.mode = invalid
conversions.go#L82: x.mode = value // type parameters are not constants
conversions.go#L86: x.mode = value
conversions.go#L95: x.mode = invalid
conversions.go#L116: } else if x.mode == constant_ && isInteger(x.typ) && allString(T) {
expr.go#L131: if x.mode == invalid {
expr.go#L140: if _, ok := ast.Unparen(e.X).(*ast.CompositeLit); !ok && x.mode != variable {
expr.go#L142: x.mode = invalid
expr.go#L145: x.mode = value
expr.go#L151: x.mode = commaok
expr.go#L156: x.mode = invalid
expr.go#L163: x.mode = invalid
expr.go#L171: x.mode = invalid
expr.go#L175: if x.mode == constant_ {
expr.go#L190: x.mode = value
expr.go#L364: if c.mode == invalid {
expr.go#L388: if x.mode == invalid || isTyped(x.typ) || !isValid(target) {
expr.go#L403: if x.mode == constant_ {
expr.go#L485: x.mode = invalid
expr.go#L560: if x.mode == constant_ && y.mode == constant_ {
expr.go#L565: x.mode = value
expr.go#L602: x.mode = invalid
expr.go#L621: if x.mode == constant_ {
expr.go#L631: x.mode = invalid
expr.go#L641: if y.mode == constant_ {
expr.go#L646: x.mode = invalid
expr.go#L654: if y.mode == invalid {
expr.go#L655: x.mode = invalid
expr.go#L664: x.mode = invalid
expr.go#L671: if y.mode == invalid {
expr.go#L672: x.mode = invalid
expr.go#L677: x.mode = invalid
expr.go#L682: if x.mode == constant_ {
expr.go#L683: if y.mode == constant_ {
expr.go#L698: x.mode = invalid
expr.go#L741: x.mode = value
expr.go#L749: x.mode = invalid
expr.go#L753: x.mode = value
expr.go#L785: if x.mode == invalid {
expr.go#L788: if y.mode == invalid {
expr.go#L789: x.mode = invalid
expr.go#L800: if x.mode == invalid {
expr.go#L823: x.mode = invalid
expr.go#L828: x.mode = invalid
expr.go#L834: if (x.mode == constant_ || allInteger(x.typ)) && y.mode == constant_ && constant.Sign(y.val) == 0 {
expr.go#L836: x.mode = invalid
expr.go#L841: if x.mode == constant_ && y.mode == constant_ && isComplex(x.typ) {
expr.go#L846: x.mode = invalid
expr.go#L852: if x.mode == constant_ && y.mode == constant_ {
expr.go#L869: x.mode = value
expr.go#L922: if x.mode == invalid {
expr.go#L926: if y.mode == invalid {
expr.go#L927: x.mode = invalid
expr.go#L993: if x.mode == invalid || x.mode == novalue {
expr.go#L1013: x.mode = invalid
expr.go#L1024: x.mode = invalid
expr.go#L1041: if x.mode == invalid {
expr.go#L1047: if x.mode == invalid {
expr.go#L1053: if x.mode == invalid {
expr.go#L1074: if x.mode == invalid {
expr.go#L1080: if x.mode == invalid {
expr.go#L1086: if x.mode == invalid {
expr.go#L1109: x.mode = commaok
expr.go#L1117: switch x.mode {
expr.go#L1140: x.mode = variable
expr.go#L1146: if x.mode == invalid {
expr.go#L1156: if x.mode == invalid {
expr.go#L1167: x.mode = typexpr
expr.go#L1184: x.mode = invalid
expr.go#L1274: if t, ok := x.typ.(*Tuple); ok && x.mode != invalid {
expr.go#L1278: list[i] = &operand{mode: value, expr: e, typ: v.typ}
expr.go#L1285: if allowCommaOk && (x.mode == mapindex || x.mode == commaok || x.mode == commaerr) {
expr.go#L1286: x2 := &operand{mode: value, expr: e, typ: Typ[UntypedBool]}
expr.go#L1287: if x.mode == commaerr {
expr.go#L1320: if modeset&(1<<x.mode) != 0 {
expr.go#L1323: switch x.mode {
expr.go#L1341: x.mode = invalid
expr.go#L1347: if x.mode == value {
expr.go#L1352: x.mode = invalid
index.go#L23: switch x.mode {
index.go#L30: x.mode = invalid
index.go#L34: x.mode = typexpr
index.go#L47: if x.mode == invalid {
index.go#L58: if x.mode == constant_ {
index.go#L64: x.mode = value
index.go#L71: if x.mode != variable {
index.go#L72: x.mode = value
index.go#L80: x.mode = variable
index.go#L86: x.mode = variable
index.go#L92: x.mode = invalid
index.go#L99: x.mode = mapindex
index.go#L124: if x.mode != variable {
index.go#L166: x.mode = invalid
index.go#L173: x.mode = mapindex
index.go#L181: x.mode = mode
index.go#L190: x.mode = invalid
index.go#L196: x.mode = invalid
index.go#L213: if x.mode == invalid {
index.go#L263: x.mode = invalid
index.go#L274: x.mode = invalid
index.go#L278: if x.mode == constant_ {
index.go#L291: if x.mode != variable {
index.go#L293: x.mode = invalid
index.go#L312: x.mode = invalid
index.go#L316: x.mode = value
index.go#L321: x.mode = invalid
index.go#L399: if x.mode != constant_ {
index.go#L419: if x.mode == invalid {
index.go#L425: if x.mode == invalid {
index.go#L435: if x.mode == constant_ {
infer.go#L68: if arg.mode == invalid {
infer.go#L168: if arg.mode == invalid {
literals.go#L64: x.mode = invalid
literals.go#L69: if x.mode == invalid {
literals.go#L75: x.mode = invalid
literals.go#L103: x.mode = value
literals.go#L107: x.mode = invalid
literals.go#L156: x.mode = invalid
literals.go#L237: x.mode = invalid
literals.go#L265: x.mode = invalid
literals.go#L275: x.mode = invalid
literals.go#L291: if x.mode == invalid {
literals.go#L294: if x.mode == constant_ {
literals.go#L341: x.mode = invalid
literals.go#L346: x.mode = value
operand.go#L60: mode operandMode
operand.go#L116: if x.mode == nilvalue {
operand.go#L127: if x.mode == value && x.typ == Typ[UntypedNil] {
operand.go#L138: switch x.mode {
operand.go#L156: switch x.mode {
operand.go#L172: buf.WriteString(operandModeString[x.mode])
operand.go#L175: if x.mode == constant_ {
operand.go#L288: x.mode = invalid
operand.go#L292: x.mode = constant_
operand.go#L300: return x.mode == nilvalue
operand.go#L302: return x.mode == value && x.typ == Typ[UntypedNil]
operand.go#L313: if x.mode == invalid || !isValid(T) {
range.go#L41: if isTypes2 && x.mode != invalid && sValue == nil && !check.hasCallOrRecv {
range.go#L57: mode: constant_,
range.go#L68: if x.mode != invalid {
range.go#L140: y.mode = value
range.go#L176: if x.mode != invalid && !isInteger(x.typ) {
range.go#L181: y.mode = value
recording.go#L23: switch x.mode {
recording.go#L39: check.rememberUntyped(x.expr, false, x.mode, typ.(*Basic), val)
recording.go#L41: check.recordTypeAndValue(x.expr, x.mode, typ, val)
recording.go#L100: if a[0].mode == invalid {
stmt.go#L242: if x.mode == invalid || v.mode == invalid {
stmt.go#L246: if v.mode == invalid {
stmt.go#L252: if res.mode == invalid {
stmt.go#L255: if v.mode != constant_ {
stmt.go#L448: switch x.mode {
stmt.go#L468: if ch.mode == invalid || val.mode == invalid {
stmt.go#L489: if x.mode == invalid {
stmt.go#L499: if x.mode == invalid {
stmt.go#L531: if x.mode == invalid {
stmt.go#L612: if x.mode != invalid && !allBoolean(x.typ) {
stmt.go#L639: if x.mode != invalid && !Comparable(x.typ) && !hasNil(x.typ) {
stmt.go#L641: x.mode = invalid
stmt.go#L646: x.mode = constant_
stmt.go#L731: if x.mode != invalid {
stmt.go#L840: if x.mode != invalid && !allBoolean(x.typ) {
typexpr.go#L22: x.mode = invalid
typexpr.go#L108: x.mode = constant_
typexpr.go#L115: x.mode = typexpr
typexpr.go#L128: x.mode = variable
typexpr.go#L132: x.mode = value
typexpr.go#L136: x.mode = builtin
typexpr.go#L139: x.mode = value
typexpr.go#L260: switch x.mode {
typexpr.go#L277: switch x.mode {
typexpr.go#L525: if x.mode != constant_ {
typexpr.go#L526: if x.mode != invalid {